package cn.zlp.pet.service;


import cn.zlp.basic.service.IBaseService;
import cn.zlp.basic.util.PageList;
import cn.zlp.pet.domain.Pet;
import cn.zlp.pet.domain.SearchMasterMsg;
import cn.zlp.pet.query.SearchMasterMsgQuery;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface ISearchMasterMsgService extends IBaseService<SearchMasterMsg> {

    List<SearchMasterMsg> getAll();

    /**
     * 发布寻主信息
     *
     * @param msg
     * @param request
     * @return
     */
    void publish(SearchMasterMsg msg, HttpServletRequest request);

    /**
     * 待处理分页查询
     *
     * @param searchMasterMsgQuery
     * @param request
     * @return
     */
    PageList<SearchMasterMsg> pending(SearchMasterMsgQuery searchMasterMsgQuery, HttpServletRequest request);

    /**
     * 已处理分页查询
     *
     * @param searchMasterMsgQuery
     * @param request
     * @return
     */
    PageList<SearchMasterMsg> processed(SearchMasterMsgQuery searchMasterMsgQuery, HttpServletRequest request);

    /**
     * 用户分页查询
     *
     * @param searchMasterMsgQuery
     * @param request
     * @return
     */
    PageList<SearchMasterMsg> user(SearchMasterMsgQuery searchMasterMsgQuery, HttpServletRequest request);

    /**
     * 处理寻主消息
     * @param pet
     * @param request
     */
    void handle(Pet pet, HttpServletRequest request);
}

